Skip to content

Conversation

@aheizi
Copy link
Contributor

@aheizi aheizi commented Apr 29, 2025

Context

Support streamable http mcp

Based on:#2685

Implementation

Screenshots

image image

How to Test

Get in Touch

aheizi added 14 commits April 15, 2025 23:27
# Conflicts:
#	src/core/Cline.ts
# Conflicts:
#	locales/ca/README.md
#	locales/de/README.md
#	locales/es/README.md
#	locales/fr/README.md
#	locales/hi/README.md
#	locales/it/README.md
#	locales/ja/README.md
#	locales/ko/README.md
#	locales/pl/README.md
#	locales/pt-BR/README.md
#	locales/tr/README.md
#	locales/vi/README.md
#	locales/zh-CN/README.md
#	locales/zh-TW/README.md
#	src/core/Cline.ts
#	src/core/__tests__/Cline.test.ts
# Conflicts:
#	src/services/mcp/McpHub.ts
#	src/services/mcp/__tests__/McpHub.test.ts
@changeset-bot
Copy link

changeset-bot bot commented Apr 29, 2025

⚠️ No Changeset found

Latest commit: 8432774

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@adamhill
Copy link
Contributor

Sorry if this sounds newbie.

But are there any pre-existing streaming MCP's servers out there that we can test with other than just making sure things aren't breaking with a purpose written MCP for testing? What form does the stream manifest itself as?

Periodic updates to the chat? Smooth response flowing into the chat detail without "jumps" and hiccups?

Thanks!

@hannesrudolph hannesrudolph moved this from New to PR [Pre Approval Review] in Roo Code Roadmap Apr 29, 2025
@aheizi
Copy link
Contributor Author

aheizi commented Apr 30, 2025

Sorry if this sounds newbie.

But are there any pre-existing streaming MCP's servers out there that we can test with other than just making sure things aren't breaking with a purpose written MCP for testing? What form does the stream manifest itself as?

Periodic updates to the chat? Smooth response flowing into the chat detail without "jumps" and hiccups?

Thanks!

This update mainly supports the transmission protocol part, from the previous SSE to the current Streamable HTTP. Its main advantages are to simplify the deployment complexity, support flexible communication modes (one-time response or streaming push), and optimize network stability.

  • Version 2024-11-05: Uses HTTP + SSE (two endpoints) to support one-way streaming communication.
  • Version 2025-03-26: Replaced with Streamable HTTP (single endpoint) to support two-way communication and disconnection recovery.

As for the demonstration of the streaming transmission mentioned, since the previous SSE also supported it, I think it will be very useful for large data volumes or audio data streams. We can specifically test this aspect.
I'm not sure if I've answered the core of your question. Thank you.

@hannesrudolph hannesrudolph moved this from PR [Pre Approval Review] to PR [Draft/WIP] in Roo Code Roadmap May 10, 2025
@youest
Copy link

youest commented May 19, 2025

Hi all,
is there any updates about this feature? any plan to release it?

Good to know: I saw the vs code itself is now supporting the streamable mcp servers

@hannesrudolph hannesrudolph moved this from New to PR [Draft/WIP] in Roo Code Roadmap May 20, 2025
@daniel-lxs
Copy link
Member

Hey @aheizi,
Thank you for your contribution, We noticed this PR is stale and will be closed. If you plan to revisit this, please create an issue first as required by our issue-first approach before opening a new PR.

@daniel-lxs daniel-lxs closed this May 26, 2025
@github-project-automation github-project-automation bot moved this from PR [Draft/WIP] to Done in Roo Code Roadmap May 26, 2025
@github-project-automation github-project-automation bot moved this from PR [Draft / In Progress] to Done in Roo Code Roadmap May 26, 2025
Mnehmos added a commit to Mnehmos/Roo-Code that referenced this pull request Jun 10, 2025
- Add missing client.connect() call in connectToServer method
- Implement connection-level fallback from StreamableHTTP to SSE
- Replace console.log with structured logging using appendErrorMessage
- Prioritize modern StreamableHTTP transport over legacy SSE
- Add proper error handling and connection state validation
- Only mark connections as 'connected' after successful handshake

Addresses all code review points from Daniel in PR RooCodeInc#4406:
1. Missing connection-level fallback for StreamableHTTP
2. Improper logging using console.log
3. Incorrect client.connect() handling

Technical improvements:
- Robust transport fallback mechanism
- Production-ready connection establishment
- Foundation for completing StreamableHTTP implementation (PR RooCodeInc#3027)
- Better compatibility with modern MCP servers

Related to RooCodeInc#4189: Improves StreamableHTTP reliability though full mcp-go
SSE compatibility requires SDK update to v1.12.1+ for protocol fixes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

4 participants